Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Передать массив PHP в Javascript (Алёша)
Author Message
Алёша
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon May 07, 2007 7:30 pm (написано за 5 минут 23 секунды)
   Post subject: Передать массив PHP в Javascript
Reply with quote

Пытаюсь составить массив на PHP для передачи javascript скрипту такого ввида
Code (java): скопировать код в буфер обмена
//
 
Данные у меня хранятся в БД MySQL в таком виде: id parent_id name

я нашёл один пример подобный на этом форуме
Code (php): скопировать код в буфер обмена
...
$JsHttpRequest =& new JsHttpRequest('windows-1251');

$_RESULT = array (www.php.net/array)();
$last = round (www.php.net/round)(rand (www.php.net/rand)(1,20));

for ($i=0; $i<$last; $i++) {
  $_RESULT['options'][] = array (www.php.net/array)('Parent: '.preg_replace("/\D+(\d+).*/","$1",$_REQUEST['val']).' random: '.rand(0,100), $i);
}
но он немного не такой какой мне нужен.
Back to top
Kupuyc
Участник форума



Joined: 31 Mar 2006
Posts: 146
Карма: 5
   поощрить/наказать


PostPosted: Tue May 08, 2007 1:19 pm (спустя 17 часов 48 минут; написано за 1 минуту 16 секунд)
   Post subject:
Reply with quote

Что-то или Вы странное говорите, или я в лыжи обут... можно еще раз и по порядку? А то массив Вам надо составить, Вы говорите, а он уже есть по сути, откуда-то же Вы его скопипастили...
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Tue May 08, 2007 7:47 pm (спустя 6 часов 28 минут; написано за 13 минут 14 секунд)
   Post subject:
Reply with quote

спасибо, но я тут посидел немного, подумал, и написал, и вот что получилось
Code (php): скопировать код в буфер обмена
...
$JsHttpRequest =& new JsHttpRequest("windows-1251");

 require('../init.php');
 $sel_array = array (www.php.net/array)();

 $q = $_REQUEST['q'];

 $sql_result = $db->q("SELECT " . PREFIX . "category.id, " . PREFIX . "category.name, " . PREFIX . "category.parent_id FROM " . PREFIX . "category where " . PREFIX . "category.parent_id = '".$q."' ORDER BY " . PREFIX . "category.name desc");
  while($row = $db->mysql_assoc($sql_result)){
   $sel_array[] = array (www.php.net/array) ('id'=>''.$row['id'].'','parent_id'=>''.$row['parent_id'].'','name'=>''.$row['name'].'');
  }

$_RESULT = array (www.php.net/array)(
 'result''q' => '18005',
 'result' => array (www.php.net/array) (array (www.php.net/array) ('id'=>'88','parent_id'=>'18005','name'=>'111'),array (www.php.net/array) ('id'=>'89','parent_id'=>'18005','name'=>'222'))
);
массив формируется именно такой какой мне и нужен был, а то что откуда я взял тот массив, так я посмотрел тут
moikrug.ru/widgets/ajax/regions?q=648

мне вообще нужно было сделать формирование списков, как на этом сайте, выбираешь сперва страну потом регион далее город, вот и пришлось взять их джава код от туда, а вот формирование массива по началу не получалось под него сделать, но теперь вопрос решон, сейчас работает также как на сайте. Но правда появилась одна проблемка, у них там, используется библиотека ещё 4.15 версии, тут тоже не сразу у меня пошло, я пробывал на последней 5-ой версии, там видимо формирование массива поменялся, пришлось искать 4.15 версию, нашёл, и сразу запустилось как надо. А ошибка если подключать последнию библиотеку заключалась в том что при выборе списка, в IE6 в низу в строке статуса, появлялся жёлтый значёк, видимо что-то не то, а что, не понятно, тут ведь не как на PHP где может показать на какой строке была ошибка, поэтому где и какая ошибка незнаю, в Firefox с этим нормально, он не отображает такой значёк, так вот, самая проблема была в том, когда выбираешь список, то почемуто данный список замораживался, отображало "Идёт загрузка..." а список не заполнялся. Вообщем на 5 версии не получилось запустить, если кто сможет помочь, буду очень благодарен.
Back to top
Neo
Участник форума



Joined: 29 Jun 2003
Posts: 57
Карма: -3
   поощрить/наказать

Location: Москва

PostPosted: Mon Jun 11, 2007 4:59 pm (спустя 1 месяц 2 дня 21 час 12 минут; написано за 3 минуты 17 секунд)
   Post subject:
Reply with quote

Подскажите а как вывести все значения массива куда-нить?
Если делать стандартным InnerHTML то вставляется первое значние, а потом следующим оно затирается. Надо чтобы оставалось.
Думал использовать document.writeln, но не знаю как воткнуть его в нужное место.
back
Code (php): скопировать код в буфер обмена
...
$_RESULT["cpu"][] = $line["cpu_freq"];
...
front
Code (any language): скопировать код в буфер обмена
...
function(result, errors) {
for(i=0;i<result["cpu"].length;i++){
  document.getElementById("cpu").innerHTML = 'CPU: '+result["cpu"][i];
}
...
просто алертом все выводится, акак вывести хотяб в таблицу ума не приложу .
Back to top
View user's profile Send private message Send e-mail
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Mon Jun 11, 2007 6:10 pm (спустя 1 час 10 минут; написано за 7 секунд)
   Post subject:
Reply with quote

.innerHTML =

замените на

.innerHTML +=
Back to top
View user's profile Send private message
Neo
Участник форума



Joined: 29 Jun 2003
Posts: 57
Карма: -3
   поощрить/наказать

Location: Москва

PostPosted: Mon Jun 11, 2007 6:29 pm (спустя 19 минут; написано за 2 минуты 58 секунд)
   Post subject:
Reply with quote

Валенок, спасибо, про += я уже допер. я не пойму как сделать структуру,чтобы правильно таблица формировалась
Code (any language): скопировать код в буфер обмена
for(i=0;i<result["name"].length;i++){
    document.getElementById("show").innerHTML += '<tr><td>'+result["name"][i]+'</td></tr>';
    document.getElementById("show").innerHTML += '<tr><td>'+result["cpu"][i]+'</td></tr>';
    document.getElementById("show").innerHTML += '<tr><td>'+result["ram"][i]+'</td></tr>';
Code (any language): скопировать код в буфер обмена
<table width="400" border="1" id="show">
</table>
Вот так криво выдает
Back to top
View user's profile Send private message Send e-mail
Валенок
Участник форума



Joined: 06 Apr 2006
Posts: 520
Карма: -3
   поощрить/наказать


PostPosted: Mon Jun 11, 2007 8:36 pm (спустя 2 часа 7 минут; написано за 35 секунд)
   Post subject:
Reply with quote

попробуйте лучше по-умному, через добавление нодов etc %)
Back to top
View user's profile Send private message
Neo
Участник форума



Joined: 29 Jun 2003
Posts: 57
Карма: -3
   поощрить/наказать

Location: Москва

PostPosted: Mon Jun 11, 2007 9:16 pm (спустя 39 минут; написано за 23 секунды)
   Post subject:
Reply with quote

Валенок, а где можно почитать про это?
Back to top
View user's profile Send private message Send e-mail
AKS
Участник форума



Joined: 28 Dec 2005
Posts: 1174
Карма: 102
   поощрить/наказать


PostPosted: Mon Jun 11, 2007 9:25 pm (спустя 9 минут; написано за 26 секунд)
   Post subject:
Reply with quote

How to Build Tables Dynamically (msdn2.microsoft.com/en-us/library/ms532998.aspx)
Back to top
View user's profile Send private message Send e-mail
Kupuyc
Участник форума



Joined: 31 Mar 2006
Posts: 146
Карма: 5
   поощрить/наказать


PostPosted: Fri Jun 15, 2007 5:34 pm (спустя 3 дня 20 часов 8 минут; написано за 2 минуты 18 секунд)
   Post subject:
Reply with quote

Quote:
However, because of the specific structure required by tables, the innerText and innerHTML properties of the table and tr objects are read-only.
Уже который раз читаю, но... так умно и гладко отмазаться от признания собственной лени... респект. Почему-то у того же FF "specific structure" может и required, но вот все тип-топ и innerHTML не ro. Извиняюсь за оффтоп.
Back to top
View user's profile Send private message
Neo
Участник форума



Joined: 29 Jun 2003
Posts: 57
Карма: -3
   поощрить/наказать

Location: Москва

PostPosted: Fri Jun 15, 2007 5:39 pm (спустя 4 минуты; написано за 33 секунды)
   Post subject:
Reply with quote

Ну я обошел проблему вывода в таблицу проще) я дивами написал ))
Придется теперь все на дивах делать (
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
Post a reply
Username
Subject
Господа спамеры и оптимизаторы!

Вы можете даже и не пытаться вставлять в текст поста ссылки - они все равно автоматически удаляются (вернее, тэги <a> заменяются на тэги <u>).

Но если не поверите и все же попытаетесь - как только увидите, что все безрезультатно, удалите свой пост, пожалуйста. Модераторы тоже люди, нехорошо, если они погрязнут в тоннах спама.
     

Disable BBCode in this post
Disable Smilies in this post
    HTML is OFF
BBCode is ON
Smilies are ON
You cannot post new topics in this forum. You can reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML